import java.util.Stack;

class Solution2 {
    public int evalRPN(String[] tokens) {
        Stack<Integer> stackInt = new Stack<>() ;
        for(int i = 0 ; i < tokens.length ; i++){
            if(isNum(tokens[i])){
                int tmp = Integer.parseInt(tokens[i]) ;
                stackInt.push(tmp) ;
            }
            else{
                int num1 = stackInt.pop() ;
                int num2 = stackInt.pop() ;
                switch(tokens[i]){
                    case "+" : stackInt.push(num2 + num1) ;
                        break ;
                    case "-" : stackInt.push(num2 - num1) ;
                        break ;
                    case "*" : stackInt.push(num2 * num1) ;
                        break ;
                    case "/" : stackInt.push(num2 / num1) ;
                        break ;
                }
            }
        }
        return stackInt.pop() ;
    }
    public boolean isNum(String str){
        return !(str.equals("+") || str.equals("-") ||
                str.equals("*") || str.equals("/")) ;
    }
}